package com.whnk.attendance.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

public class EmpBaseInfoUpdateVo implements Serializable {

    private static final long serialVersionUID = 1L;

    /** 证件号码 */
    @NotBlank(message = "证件号码不能为空")
    @ApiModelProperty(value = "证件号码",required = true)
    private String empId;

    /** 姓名 */
    @NotBlank(message = "姓名不能为空")
    @ApiModelProperty(value = "姓名",required = true)
    private String empNm;

    /** 职位 */
    @ApiModelProperty(value = "职位",required = false)
    private String empPosition;

    /** 联系方式 */
    @ApiModelProperty(value = "联系方式",required = false)
    private String empTel;

    /** 工作年限 */
    @ApiModelProperty(value = "工作年限",required = false)
    private Long empWorkYears;

    /** 入司年限 */
    @ApiModelProperty(value = "入司年限",required = false)
    private Integer empCompanyYears;

    /** 入职时间 */
    @ApiModelProperty(value = "入职时间",required = false)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date empInTime;

    /** 毕业时间 */
    @ApiModelProperty(value = "毕业时间",required = false)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date empBiyeTime;

    /** 学历 */
    @ApiModelProperty(value = "学历",required = false)
    private String empXl;

    /** 基本工资 */
    @ApiModelProperty(value = "基本工资",required = false)
    private BigDecimal empWage;

    /** 在职状态(01-在职,02-离职，03-挂职) */
    @ApiModelProperty(value = "在职状态(01-在职,02-离职，03-挂职)",required = false)
    private String empWorkState;

    /** 离职时间 */
    @ApiModelProperty(value = "离职时间",required = false)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date empDepartureTime;

    public String getEmpId() {
        return empId;
    }

    public void setEmpId(String empId) {
        this.empId = empId;
    }

    public String getEmpNm() {
        return empNm;
    }

    public void setEmpNm(String empNm) {
        this.empNm = empNm;
    }

    public String getEmpPosition() {
        return empPosition;
    }

    public void setEmpPosition(String empPosition) {
        this.empPosition = empPosition;
    }

    public String getEmpTel() {
        return empTel;
    }

    public void setEmpTel(String empTel) {
        this.empTel = empTel;
    }

    public Long getEmpWorkYears() {
        return empWorkYears;
    }

    public void setEmpWorkYears(Long empWorkYears) {
        this.empWorkYears = empWorkYears;
    }

    public Integer getEmpCompanyYears() {
        return empCompanyYears;
    }

    public void setEmpCompanyYears(Integer empCompanyYears) {
        this.empCompanyYears = empCompanyYears;
    }

    public Date getEmpInTime() {
        return empInTime;
    }

    public void setEmpInTime(Date empInTime) {
        this.empInTime = empInTime;
    }

    public Date getEmpBiyeTime() {
        return empBiyeTime;
    }

    public void setEmpBiyeTime(Date empBiyeTime) {
        this.empBiyeTime = empBiyeTime;
    }

    public String getEmpXl() {
        return empXl;
    }

    public void setEmpXl(String empXl) {
        this.empXl = empXl;
    }

    public BigDecimal getEmpWage() {
        return empWage;
    }

    public void setEmpWage(BigDecimal empWage) {
        this.empWage = empWage;
    }

    public String getEmpWorkState() {
        return empWorkState;
    }

    public void setEmpWorkState(String empWorkState) {
        this.empWorkState = empWorkState;
    }

    public Date getEmpDepartureTime() {
        return empDepartureTime;
    }

    public void setEmpDepartureTime(Date empDepartureTime) {
        this.empDepartureTime = empDepartureTime;
    }

    @Override
    public String toString() {
        return "EmpBaseInfoUpdateVo{" +
                "empId='" + empId + '\'' +
                ", empNm='" + empNm + '\'' +
                ", empPosition='" + empPosition + '\'' +
                ", empTel='" + empTel + '\'' +
                ", empWorkYears=" + empWorkYears +
                ", empCompanyYears=" + empCompanyYears +
                ", empInTime=" + empInTime +
                ", empBiyeTime=" + empBiyeTime +
                ", empXl='" + empXl + '\'' +
                ", empWage=" + empWage +
                ", empWorkState='" + empWorkState + '\'' +
                ", empDepartureTime=" + empDepartureTime +
                '}';
    }

}
